// =============================================================================
// | 包: router                                                               |
// | 模块: 站点路由                                                           |
// | 功能: 定义和注册站点相关的API路由                                        |
// =============================================================================
package router

import (
	"blog_server/api" // API入口包 - 提供所有API模块的统一访问入口
	"blog_server/middleware" // 中间件包 - 提供认证等中间件功能

	"github.com/gin-gonic/gin" // Gin Web框架 - 提供HTTP路由和处理功能
)

// =============================================================================
// | 函数: SiteRouter                                                         |
// | 参数: @r - *gin.RouterGroup - Gin路由组，用于注册站点相关路由             |
// | 功能: 注册站点相关的API路由，包括站点信息查看和更新                       |
// | 说明: 负责将站点API的方法绑定到对应的HTTP路径和请求方法上                |
// |----------------------------------------------------------------------------|
// | 流程:                                                                     |
// | 1. 获取站点API实例                                                       |
// | 2. 注册站点信息查看路由                                                  |
// | 3. 注册站点信息更新路由                                                  |
// =============================================================================
func SiteRouter(r *gin.RouterGroup) {
	// 获取站点API实例
	app := api.App.SiteApi

	// 注册站点信息查看路由 - GET请求，路径为"site/:name"
	r.GET("site/:name", app.SiteInfoView)

	// 注册站点信息更新路由 - PUT请求，路径为"site"，需要管理员权限
	r.PUT("site", middleware.AdminMiddleware, app.SiteUpdateView)
}
